package cn.b.sky.mes.andon.service;

import java.util.List;

import cn.b.sky.mes.andon.model.AndonAccount;
import cn.b.sky.mes.andon.model.condition.AndonAccountCondition;

public interface AndonAccountService {

	/**
	 * 
	 * <strong>Title : selectAndonAccountListByCondition<br></strong>
	 * <strong>Description : </strong>根据条件查询物流台账类别<br> 
	 * <strong>Create on : 2016-8-18 下午6:26:07<br></strong>
	 * <p>
	 * @param condition
	 * @return
	 * List<AndonAccount>
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	List<AndonAccount> selectAndonAccountListByCondition (AndonAccountCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectAndonAccountCountByCondition<br></strong>
	 * <strong>Description : </strong>根据条件查询物流台账类别记录<br> 
	 * <strong>Create on : 2016-8-18 下午6:27:11<br></strong>
	 * <p>
	 * @param condition
	 * @return
	 * int
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	int selectAndonAccountCountByCondition (AndonAccountCondition condition);
	/**
	 * 
	 * <strong>Title : getAndonAccount<br></strong>
	 * <strong>Description : </strong>根据条件查询物流ANDON台賬类别信息<br> 
	 * <strong>Create on : 2016-8-20 下午8:41:50<br></strong>
	 * <p>
	 * @param siteCode
	 * @param materialCode
	 * @return
	 * AndonAccount
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	AndonAccount getAndonAccount(String siteCode,String andonCode);
	
	/**
	 * 
	 * <strong>Title : insertAndonAccount<br></strong>
	 * <strong>Description : </strong><br> 
	 * <strong>Create on : 2016-8-22 上午10:51:36<br>添加物流andonAccount台账信息</strong>
	 * <p>
	 * @param andonAccount
	 * void
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	void insertAndonAccount (AndonAccount andonAccount);
	
	/**
	 * 
	 * <strong>Title : updateAndonAccount<br></strong>
	 * <strong>Description : </strong>修改物流andonAccount台账信息<br> 
	 * <strong>Create on : 2016-8-22 下午2:25:04<br></strong>
	 * <p>
	 * @param andonAccount
	 * void
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
    void updateAndonAccount(AndonAccount andonAccount);
    
    /**
     * 
     * <strong>Title : deleteAndonAccount<br></strong>
     * <strong>Description : </strong>删除物流andonAccount台账信息<br> 
     * <strong>Create on : 2016-8-22 下午6:58:36<br></strong>
     * <p>
     * @param siteCode
     * @param materialCode
     * @return
     * String
     * @throws 
     * @author ZhiPeng.Tong<br>
     * @version <strong>v1.0.0</strong><br>
     * <br>
     * <strong>修改历史:</strong><br>
     * 修改人 | 修改日期 | 修改描述<br>
     * -------------------------------------------<br>
     * <br>
     * <br>
     */
    String deleteAndonAccount(String siteCode,String code);
    /**
     * 
     * <strong>Title : disableAndonAccount<br></strong>
     * <strong>Description : </strong>禁用<br> 
     * <strong>Create on : 2016-8-23 下午4:22:03<br></strong>
     * <p>
     * @param siteCode
     * @param code
     * @return
     * String
     * @throws 
     * @author ZhiPeng.Tong<br>
     * @version <strong>v1.0.0</strong><br>
     * <br>
     * <strong>修改历史:</strong><br>
     * 修改人 | 修改日期 | 修改描述<br>
     * -------------------------------------------<br>
     * <br>
     * <br>
     */
    String disableAndonAccount(String siteCode, String code);
    
    /**
     * 
     * <strong>Title : enableAndonAccount<br></strong>
     * <strong>Description : </strong>启用<br> 
     * <strong>Create on : 2016-8-24 下午1:38:14<br></strong>
     * <p>
     * @param SiteCode
     * @param code
     * @return
     * String
     * @throws 
     * @author ZhiPeng.Tong<br>
     * @version <strong>v1.0.0</strong><br>
     * <br>
     * <strong>修改历史:</strong><br>
     * 修改人 | 修改日期 | 修改描述<br>
     * -------------------------------------------<br>
     * <br>
     * <br>
     */
    String enableAndonAccount(String siteCode,String code);

    /**
     * 
     * <strong>Title : getMaterialCodeByAndonType<br></strong>
     * <strong>Description : </strong>获取安灯类型下物料号<br> 
     * <strong>Create on : 2016-8-26 上午11:32:46<br></strong>
     * <p>
     * @param siteCode
     * @param andonTypeCode
     * @return
     * List<AndonAccount>
     * @throws 
     * @author JinQuan.Fu<br>
     * @version <strong>v1.0.0</strong><br>
     * <br>
     * <strong>修改历史:</strong><br>
     * 修改人 | 修改日期 | 修改描述<br>
     * -------------------------------------------<br>
     * <br>
     * <br>
     */
    List<AndonAccount> getMaterialCodeByAndonType(String siteCode, String andonTypeCode);
}
